home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / s390 / include / asm / kvm_virtio.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.6 KB  |  64 lines

  1. /*
  2.  * kvm_virtio.h - definition for virtio for kvm on s390
  3.  *
  4.  * Copyright IBM Corp. 2008
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License (version 2 only)
  8.  * as published by the Free Software Foundation.
  9.  *
  10.  *    Author(s): Christian Borntraeger <borntraeger@de.ibm.com>
  11.  */
  12.  
  13. #ifndef __KVM_S390_VIRTIO_H
  14. #define __KVM_S390_VIRTIO_H
  15.  
  16. #include <linux/types.h>
  17.  
  18. struct kvm_device_desc {
  19.     /* The device type: console, network, disk etc.  Type 0 terminates. */
  20.     __u8 type;
  21.     /* The number of virtqueues (first in config array) */
  22.     __u8 num_vq;
  23.     /*
  24.      * The number of bytes of feature bits.  Multiply by 2: one for host
  25.      * features and one for guest acknowledgements.
  26.      */
  27.     __u8 feature_len;
  28.     /* The number of bytes of the config array after virtqueues. */
  29.     __u8 config_len;
  30.     /* A status byte, written by the Guest. */
  31.     __u8 status;
  32.     __u8 config[0];
  33. };
  34.  
  35. /*
  36.  * This is how we expect the device configuration field for a virtqueue
  37.  * to be laid out in config space.
  38.  */
  39. struct kvm_vqconfig {
  40.     /* The token returned with an interrupt. Set by the guest */
  41.     __u64 token;
  42.     /* The address of the virtio ring */
  43.     __u64 address;
  44.     /* The number of entries in the virtio_ring */
  45.     __u16 num;
  46.  
  47. };
  48.  
  49. #define KVM_S390_VIRTIO_NOTIFY        0
  50. #define KVM_S390_VIRTIO_RESET        1
  51. #define KVM_S390_VIRTIO_SET_STATUS    2
  52.  
  53. #ifdef __KERNEL__
  54. /* early virtio console setup */
  55. #ifdef CONFIG_S390_GUEST
  56. extern void s390_virtio_console_init(void);
  57. #else
  58. static inline void s390_virtio_console_init(void)
  59. {
  60. }
  61. #endif /* CONFIG_VIRTIO_CONSOLE */
  62. #endif /* __KERNEL__ */
  63. #endif
  64.